package org.jeecg.modules.aliyun.phone.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.demo.entity.Demo;
import org.jeecg.modules.phone.entity.CreateImgPamarsVo;
import org.jeecg.modules.phone.entity.PhoneOrderPamarsVo;
import org.jeecg.modules.phone.entity.UploadFilePamarsVo;

/**
 * @Description: DemoDescript
 * @Author: jeecg-boot
 * @Date:   2022-08-09
 * @Version: V1.0
 */
public interface IPhoneService extends IService<Demo> {


    String doSendTxtCommand(String InstanceIds, String commandStr);

    String doRunCommand(String InstanceIds, String commandStr);

    String doSendFile(UploadFilePamarsVo uploadFilePamarsVo);


    String doInstallApplication(UploadFilePamarsVo uploadFilePamarsVo);

    String doListInstanceVncUrl(UploadFilePamarsVo uploadFilePamarsVo);

    String doCreateImage(CreateImgPamarsVo createImgPamarsVo);

    String doListImages(CreateImgPamarsVo createImgPamarsVo);

    String doRunInstances(PhoneOrderPamarsVo phoneOrderPamarsVo);


    //
    //    @Override
    //    public String doListRegions() throws ExecutionException, InterruptedException {
    //
    //        AsyncClient client = getAsyncClient(getStaticCredentialProvider(), RegionID, Endpoint);
    //        ListRegionsRequest listRegionsRequest = ListRegionsRequest.builder().build();
    //        CompletableFuture<ListRegionsResponse> response = client.listRegions(listRegionsRequest);
    //        ListRegionsResponse resp = response.get();
    //        client.close();
    //        return new Gson().toJson(resp);
    //    }
    //
    String doFetchFile(String InstanceIds, String objcetFilePath, String path);

    String doListInstances(String InstanceIds);

    String StopInstances(String InstanceIds) ;


    String doDeleteInstances(String InstanceIds);

    String doDeleteImages(String imageIds);
}
